#ifndef	RECIPE_HPP__
# define	RECIPE_HPP__

#include	<map>

#include	"Task.hpp"
#include	"Pizza.hpp"
#include	"Kitchen.hpp"

class Recipe : public Task
{
public:
  typedef	std::map<TypePizza, double>	CookingTime;
public:
  Recipe(Pizza const& pizza = Pizza(), Kitchen *kitchen = 0);
  Recipe(Recipe const& r);
  Recipe	&operator=(Recipe const& r);
  virtual ~Recipe() {}

// to Cook
  virtual void		*toRun(void);

public:
  static void		init(double);

private:
  static CookingTime	cookingTime;

private:
  Pizza			_pizza;
  Kitchen		*_kitchen;
};

#endif	/* !RECIPE_HPP__ */